博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
flask 学习笔记 mvc ,sqlalchemy(insert,update)
阅读量:6989 次
发布时间:2019-06-27

本文共 3072 字,大约阅读时间需要 10 分钟。

hot3.png

# 模型类from sqlalchemy import Column, Integer, Stringfrom application.database.mysqldb import Baseclass UserModel(Base):    __tablename__ = 'user'    id = Column(Integer, primary_key=True)    name = Column(String)    def __init__(self, id=None, name=None):        self.id = id        self.name = name

 

# -*- coding: utf-8 -*-# 数据库连接类from sqlalchemy import create_enginefrom sqlalchemy.orm import scoped_session, sessionmakerfrom sqlalchemy.ext.declarative import declarative_baseengine = create_engine("mysql+pymysql://root:123456@127.0.0.1:3306/test?charset=utf8",                       convert_unicode=True,                       echo=True)db_session = scoped_session(sessionmaker(autocommit=False,                                         autoflush=False,                                         bind=engine))Base = declarative_base()Base.db_session = db_sessionBase.query = db_session.query_property()def init_db():    # 在这里导入所有的可能与定义模型有关的模块,这样他们才会合适地    # 在 metadata 中注册。否则,您将不得不在第一次执行 init_db() 时    # 先导入他们。    Base.metadata.create_all(bind=engine)

 

# -*-coding: utf-8 -*-# 控制器类from flask import render_template, make_response, jsonify, request, flashimport jsonfrom flask.views import Viewfrom application.models.UserModel import UserModelclass User(View):    '''    用户类    '''    methods = ['GET', 'POST']    def dispatch_request(self):        user = UserModel.query.filter(UserModel.id == 2).first()        user_obj = {"id":user.id, "name":user.name}        return jsonify(user_obj)class UserLogin(View):    methods = ['GET', 'POST']    def dispatch_request(self):        if request.method == 'POST':            username = request.form['username']            user = UserModel.query.filter(UserModel.name == username).first()            if user is None:                _user_save = UserModel(name=username)                UserModel.db_session.add(_user_save)                UserModel.db_session.commit()                flash(u"登陆失败!")            else:                UserModel.query.filter(UserModel.id > 2).update({UserModel.name:'tets2'})                UserModel.db_session.commit()                flash(u"登陆成功!")            return render_template('user/login.html')        else:            return render_template('user/login.html')
{% block head %}
{% block title %}{% endblock %} - My Webpage{% endblock %}{% with messages = get_flashed_messages() %} {% if messages %}
    {% for message in messages %}
  • {
    { message }}
  • {% endfor %}
{% endif %}{% endwith %}
{% block content %}{% endblock %}
{% block footer %}
{% endblock %}
{% extends "common/header.html" %}{% block head %} {
{ super() }} {% endblock %}{% block content %}
{% endblock %}{% block footer %} {
{ super() }}{% endblock %}

转载于:https://my.oschina.net/phper1234/blog/1498969

你可能感兴趣的文章
TCP/IP学习笔记1--概述,分组交换协议
查看>>
深入百度外链工具引发的思考
查看>>
DataBindings 与 INotifyPropertyChanged 实现自动刷新 WinForm 界面
查看>>
VB中数据占几个字节
查看>>
交通压力主动感知系统
查看>>
对于技术服务和业务的思考
查看>>
数据链路层
查看>>
Memcached 客户端使用
查看>>
【193】◀▶ PowerShell 官方资料索引
查看>>
linux 学习
查看>>
JDK安装和环境变量配置
查看>>
GO环境配置
查看>>
Android ocr识别文字介绍(文字识别)
查看>>
hdoj 2199 Can you solve this equation? 【二分枚举】
查看>>
2014互联网百强企业出炉 八爪鱼排名99
查看>>
springboot整合最新版dubbo以及dubbo-admin的安装
查看>>
dubbo的负载均衡策略和容错策略
查看>>
当前时间和倒计时效果
查看>>
mac上如何解压和压缩rar文件
查看>>
Python学习笔记1(基础语法)
查看>>